<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
	
  <meta http-equiv="CONTENT-TYPE"
 content="text/html; charset=iso-8859-1">
  <title>Dataxi-HOWTO</title>
	 	
  <meta name="GENERATOR" content="OpenOffice.org 1.0.2  (Linux)">
	
  <meta name="CREATED" content="20030711;9142400">
	
  <meta name="CHANGED" content="20030711;10012300">
	
  <meta name="DESCRIPTION" content="Dataxi-HOWTO">
	
  <meta name="KEYWORDS" content="dataxi-howto">
	
  <meta name="resource-type" content="document">
	
  <meta name="distribution" content="global">
</head>
<body lang="en-US">
<h1 align="center"><b>Dataxi-HOWTO</b></h1>
<div style="text-align: center;">
<address>by Jyry Kuukkanen</address>
</div>
<h3>1 For the impatient and confident</h3>
<ol>
	<li>
    <p style="margin-bottom: 0cm;">Check you have Apache+PHP4
	installed and a test site called ``tring'' setup 	</p>
	</li>
  <li>
    <p style="margin-bottom: 0cm;">Check you have a database backend
	supported by PHP/PEARD:DB installed, accessible and a test database
	called "tring" set up 	</p>
	</li>
  <li>
    <p style="margin-bottom: 0cm;">Download dataxi-install.tar.gz and
	unpack it anywhere you wish 	</p>
	</li>
  <li>
    <p style="margin-bottom: 0cm;">As ``root'' cd to that folder,
	command ``./install lib=/path/to/your/php/includes
	site=/path/to/your/site chown=nobody.nogroup''. All params are
	optional, see ``./install'' (without any parameters) to get help
	screen. 	</p>
	</li>
  <li>
    <p style="margin-bottom: 0cm;">In your include folder, rename
	dataxi.example-ini to dataxi.ini 	</p>
	</li>
  <li>
    <p style="margin-bottom: 0cm;">Modify ini/kone.ini to match your
	database connection (host, user, password, etc...) using PEAR:DB
	syntax. The options are crurial when using PostgreSQL or other
	standard complient DB server. See the example under
	dataxi/appdir/kone.example-ini. The full description of the options 	is
described in <a href="#DB-access-settings">DB-access-settings</a>. 		</p>
	</li>
  <li>
    <p align="left" style="margin-bottom: 0cm;">Feed example.sql file
	to your database. Use phpMyAdmin or anything you like. Using
	PostgreSQL from the command-line "psql tring &lt;example.sql" 	should
do just the job to set up the example database. 	</p>
	</li>
  <li>
    <p align="left" style="margin-bottom: 0cm;">Point your web browser
	to the test site, login as who ever you wish and wait for the next
	login prompt that informs the login failed. Then, use "dzadmin"as
	username and "nalle" as password to login again. 	</p>
	</li>
  <li>
    <p>Enjoy. And change the master password. 	</p>
  </li>
</ol>
<h3>2 System requirements </h3>
<h4>2.1 Platforms </h4>
<ul>
	<li>
    <p style="margin-bottom: 0cm;">Linux has been well tested and any
	Un*x variant is recommended. 	</p>
	</li>
  <li>
    <p>Anyone giving Dataxi a go under M$ -Windows, please let us 	know
so this howto can be updated. 	</p>
  </li>
</ul>
<h4>2.2 Software </h4>
<ul>
	<li>
    <p align="left" style="margin-bottom: 0cm;">Apache 1.3.x with PHP4
	support (4.2.3 and 4.3 is known to work, slightly older version 	should
work, too) 	</p>
	</li>
  <li>
    <p style="margin-bottom: 0cm;">Apache2 + PHP4 has been tested and
	works mostly fine. Not recomended in production use, though. 	</p>
	</li>
  <li>
    <p align="left">Any PHP supported database (PEAR support has been
	implemented and tested with PostgeSQL and Sybase/M$-SQL) 	</p>
  </li>
</ul>
<h4>2.3 Browser </h4>
<ul>
	<li>
    <p align="left" style="margin-bottom: 0cm;">Any JavaScript enabled
	browser should do. 	</p>
	</li>
  <li>
    <p align="left" style="margin-bottom: 0cm;">Any Mozilla (0.9x and
	up) based browser 	</p>
	</li>
  <li>
    <p align="left" style="margin-bottom: 0cm;">Netscape 4.x 	</p>
	</li>
  <li>
    <p style="margin-bottom: 0cm;">Konqueror 	</p>
	</li>
  <li>
    <p align="left" style="margin-bottom: 0cm;">Opera 5 and up works
	except for key shortcuts 	</p>
	</li>
  <li>
    <p>M$-IExplorer does NOT work 100% as the JavaScript
	implementation works somewhat differently than in other browsers. If
	you are interested debugging the scripts with this browser, please
	contant dataxi-sysdev@lists.sourceforge.net and you will receive as
	much help as possible. 	</p>
  </li>
</ul>
<h3>3 Installation </h3>
<h4>3.1 Pre-arrangements </h4>
<ol>
	<li>
    <p align="left" style="margin-bottom: 0cm;">Make sure you have
	Apache with PHP4. Setup a site through which you want to use Dataxi
	system. Any name will do. Use "tring" for the example 	setup. 	</p>
	</li>
  <li>
    <p align="left">Make sure you have a database installed. Create a
	database called "tring" for testing out the example 	application. Any
database supported by PEAR and compiled with PHP 	should work fine. 	</p>
  </li>
</ol>
<h4>3.2 Main installation </h4>
<ol>
	<li>
    <p align="left" style="margin-bottom: 0cm;">Download
	dataxi-install.tar.gz 	</p>
	</li>
  <li>
    <p style="margin-bottom: 0cm;">Modify site.ini to mach your site.
	The paths are the most important. site_tmp and cache may refer to 	same
folder. The files stored in ``cache'' are used frequently and 	one might
want to set up a ramdisk for it in order to maximise for 	speed. 	</p>
	</li>
  <li>
    <p style="margin-bottom: 0cm;">Modify kone.ini so that ``tring''
	dsn string match your database host, username and password settings.
	For options, see&nbsp;<a href="#DB-access-settings">DB-access settings</a>	for
details.</p>
  </li>
  <li>Unpack the downloaded dataxi-install.tar.gz under 	some temporary
folder: tar xfzv dataxi-install.tar.gz (or using Winzip)</li>
  <li>
    <p style="margin-bottom: 0cm;">cd to that temporary folder and 	use
``install.sh'' or ``php install.php'' to install the downloaded 	files
to correct locations. Either install script will print out 	instructions
when not given any parameters. 	</p>
	</li>
  <li>
    <p>example.tar.gz also contains example.sql file that can be
	passed to any SQL-client, like PostgreSQL's command line client tool
	``psql``): psql tring &lt;example.sql </p>
  </li>
</ol>
<h3>4 System tweaking </h3>
<p>This chapter introduces and explains system wide and site wide
settings that can be done by editing few ini files. </p>
<p>All ini files consists of sections and key=value pairs. Sections
names are placed inside square brackets on their own line. </p>
<p>Example: </p>
<pre><dd>[debug]</dd><dd>level=12</dd><dd>file=/tmp/dataxi.log</dd><dd>format_html=no</dd></pre>
<p> Above is an example of section ``debug'' that contains three
key=value pairs, settings. Values may be numeric, string or boolean, and
they vary from key to key. </p>
<p>Boolean values may be one of ``yes'', ``no'', ``true'', ``false'',
``on'', ``off'', 1 or 0, either in lower or upper case, or mixed (Yes). </p>
<p>Below, at first, is a quick walk through about what there is and
what they do. </p>
<p>All settings of these files are explained in details a bit later in
this chapter. </p>
<h5>4.0.1 System settings </h5>
<p>The system wide ini file is called dataxi.ini and it is located
anywhere in your include path. </p>
<p>Actually, then you unpack dataxi-ver.tar.gz package, there is no
suck file but dataxi.example-ini than may be renamed to dataxi.ini. The
reason for this is simple: when you download the lates release of
dataxi-ver.tar.gz, you may safely unpack it to your include path without
being worried about your own system settings being overwritten. </p>
<p>The system wide settings apply too all sites and hence contain only
very generic settings such as debug/loging levels. Some settings can be
overridden in site specific site.ini file. </p>
<h5><a name="Site_settings"></a>4.0.2 Site settings </h5>
<p>As mentioned above, site wide settings are stored in site.ini and
must be located in the site's root folder. </p>
<p>In this file, paths to form sources and other importent folders are
set. There are not many other settings in this file, but they are
important, however. </p>
<p>In any folder path a special character ``~'' may be used to refer to
the site root, absolute path. For example ``~/ini'' would refer to the
folder ``ini'' under site's root folder. </p>
<p>N.B. Site root is not the same as server root. Site root is the one
where index.php is located. </p>
<p>Also, in addition to ``~'' special character, ``~~'' (double tilde)
is replaced with site root, but related to server root. </p>
<p>For example, ``~/ini'' could return a path like
/path/to/server/and/site/ini where as ``~~/ini'' would return
``/and/site/ini''. </p>
<p>It is important to use double tilde with site includes path. </p>
<h5>4.0.3 Application settings </h5>
<p>This is basicly extension to site wide settings, but separated from
site.ini for security reasons. </p>
<p>There is an example file called app.ini that ships with
dataxi-ver.tar.gz under ``appdir'' folder. </p>
<p>This file may be called anything, really. There are, however, few
thing you might want to think before you name this file. </p>
<p>In site.ini, you may set a name for your site, that will appear in
browser title bar. This is the application name and the application ini
must reflect that name. </p>
<p>Therefore, if in site.ini ``appname=Really long name'', then a ini
file called ``Really long name.ini'' must exist in the ini folder, that
has been set up in site.ini, too. </p>
<h5>4.0.4 Database access settings </h5>
<p>Database connections are separated from site settings due to
security issues. </p>
<p>These settings are set in file called kone.ini. This is used by
dzkone.php, hence the name. </p>
<p>In it, connections to one or more databases are declared and debug
level &amp; file are set to be used by dzkone. See <a
 href="#sub:Database-access-settings"><font color="#000080"><img
 src="crossref.png" name="Graphic3" alt="[*]" align="bottom" width="13"
 height="13" border="1"></font></a> for details. </p>
<h4>4.1 System wide settings, dataxi.ini </h4>
<p>These settings are used for all sites that in the same system,
unless there are more than one Apache+PHP installation with different
include paths. </p>
<p>There are some settings in here, that may be overridden in site
specific settings. See site.ini for more. </p>
<p>Below is a describtion of each section and it's keys and their
possible values. </p>
<h5>4.1.1 [sys] </h5>
<p>Very generic system settings. </p>
<h5>lang=lang_code </h5>
<p>where lang_code is two letter abverbiation of language. </p>
<h5>features=space delimited list of fetures </h5>
<p>event_wrapper exit_event browser_info. Henkka !!!!!! What does this
button do? </p>
<h5>copy_to_app_dir=space delimited list of files </h5>
<p>This is obsolete and will be removed in the future releases.</p>
<h5>admin_level=100 </h5>
<p>Thi determines the admin level. Users with this or higher value are
treated as admins. </p>
<h5>admin_menu=sysmenu.ini </h5>
<p>File name of additional menu for admins. This file must exist in the
same folder than dataxi.ini file. </p>
<h5>no_links=bool </h5>
<p>When set, CSS and JavaScripts are not linked to the source sent to
the browser. Most browsers caches CSS and JavaScripts, but not all. When
using HTTPS connection, no caching is done and hence Dataxi does no
linking automatically to prevent extra calls back to server. </p>
<h5>force_browse_after_new=bool </h5>
<p>The ``New'' mode may be entered either from query or browse mode.
Once the new set is saved, the form falls back to the mode it was enterd
from. When this option is set, then all forms fall to browse mode no
matter which mode the ``New'' mode was entered. This option may also be
set in application ini and per form. </p>
<h5>4.1.2 [debug] </h5>
<p>Debugging information: how much and where to. </p>
<h5>level=0-13 </h5>
<p>Debug level. The higher thew more information is printed. Setting
this to 0 (nought), disable all debugging messages. 12 is the highest,
but setting this to 13, prints everything, including the HTML that is
sent to the browser. </p>
<h5>file=string </h5>
<p>Any file name, including absolute file path, where to print debug
messages. When left blank, debugging is printed to the stdout (or
browser). </p>
<h5>format_html=bool </h5>
<p>When set (1, yes, true), uses HTML tags in printout for line breaks
and such. </p>
<h5>filter=string </h5>
<p>Filters out only those debug messages (in the level specified) that
contains a text set here. For example, setting ``filter=dzParser'' would
cause only those debug messages to be printed that contains
``dzParser''. </p>
<h4>4.1.3 [widgets] </h4>
<p>Default widget types for datatypes. </p>
<p>Datatypes are int (integer), dec (number with decimals), date, time
and text (any text type). </p>
<h5>type=widget_name </h5>
<p>A name of a widget to use by default with this type of field on a
form. </p>
<h5>4.1.4 [keymap] </h5>
<p>Key mappings for shortcuts. Each key represents an action that can
have a keyboard shortcut. </p>
<p>Henkka !!!! A list of possible key names, such as c-enter, would be
really nice. </p>
<h5>ok=c-enter </h5>
<p>Shortcut for [OK] button. </p>
<h5>cancel=c-bs </h5>
<p>Shortcut for [Cancel] (Return, Back) button. </p>
<h5>del_line=c-del </h5>
<p>Shortcut for [-] button that appears on the left to each deletable
row. </p>
<h5>ins_line=c-ins </h5>
<p>Shortcut for [+] button that appears on the left to each row that
may be preceded a new row. </p>
<h5>browse_next=c-right </h5>
<p>Shortcut for moving to next set in browse mode. </p>
<h5>browse_prev=c-left </h5>
<p>Shortcut for moving previous set in browse mode. </p>
<h5>pick=c-l </h5>
<p>Shortcut for pick action, that [...] button next to a field that
have options to pick. </p>
<h4>4.2 Site settings </h4>
<p>Site specific settings has been split into three ini files:
site.ini, app.ini and kone.ini as explained above in <a
 href="#Site_settings">Site settings</a>. </p>
<p>The actual site.ini practically only lists folders where to find
form sources and other inis. </p>
<p>The complete list of sections and their keys are described below. </p>
<h5>4.2.1 [general] </h5>
<h5>appname=string </h5>
<p>Application name. This string will appear in browser's title bar. It
is also used as the application ini file name that should be located in
ini folder, that is described below. </p>
<p>Setting this to, say ``appname=My application'', wuold cause the
``My application'' to appear in the browser's title bar and the system
would expect to find a file ``My application.ini'' file in the ini
folder. </p>
<p>This is very important setting and without the actual application
ini file, the system will not work at all. </p>
<h5>show_statusbar=bool </h5>
<p>Setting this, (yes/true/on/1), will cause the browsers status bar to
appear. When not set, it will not be displayed saving some vertical
space. </p>
<p>It isportant to know, that this feature does not work currently with
some browsers, like Mozilla. </p>
<h4>4.2.2 [folders] </h4>
<h5>site_inc=string </h5>
<p>Site includes. This is where JavaScripts, cascading style sheets and
images are located. It is important to use double tilde with this
setting in order to link the scripts, styles and images correctly. For
example ``site_inc=~~/includes'' would refer to folder ``include'' under
site root. Do not use ``~/includes'' (with single tilde) as that would
to the same folder ok, but with absolute path and that would confuse the
webserver badly. </p>
<h5>site_tmp=string </h5>
<p>Folder for temporary files. There will be many of them... </p>
<h5>cache=string </h5>
<p>Cache folder where the most frequently used temporary files are
stored. Setting this to refer to a ramdisk mount point has been proven
to give nice boost for speed. This can also be safely set to refer to
the same folder as site_tmp. </p>
<h5>ini=string </h5>
<p>Refers to the folder where the rest of the site or spplication
specific inis are stored. </p>
<h5>forms=string </h5>
<p>Location of the form sources (html files) used by the application.
This is the folder where all the forms that are to be displayed by the
application should be stored. </p>
<h4>4.3 Application ini </h4>
<p>This is the actual ini for the application. It refered though
site.ini's ``appname=Application name'' setting and should there for be
called the same with ``.ini'' extension, like ``Application name.ini''.</p>
<h5>4.3.1 [general] </h5>
<h5>lang=lang_code </h5>
<p>Two letter language code, like ``fi'' (Finnish), ``en'' (English)
and so. </p>
<h5>date=format_string </h5>
<p>Date formatting string. The format_string specifies how to display
dates for the users. The format is fairly simple: ``1234'' where 1=order
(j=ymd, e=dmy, u=mdy), 2=separator character (like ``.'' or ``/''),
3=no. of digits in year (2 or 4) and 4=pad with front nought when set to
``0''. </p>
<p>For example setting this to ``j-40'' would result in dates like
``2003-01-31'' and ``e.2'' likes ``31.1.3'' and ``e 20'' likes ``31 01
03''. </p>
<h5>time=format_string </h5>
<p>Time formatting string. Like date string, the format is somewhat
simple: ``112345'' where 11=either ``12'' or ``24'', 2=delimiter
character (like ``:'' or `` ``), 3=accurasy (s=seconds, m=minutes,
h=hours), 4=left limiter (s=seconds, m=minutes, h=hours), 5=pad with
front nought when set to ``0''. </p>
<p>With the left limiter, it is possible to display times, say, in
minutes only, so that ``2:10:30'' would appear as ``130:30''. </p>
<p>For example, setting this to ``24:-0'' would result in times like
``14:03:59'' and ``12:m-0'' like ``2:30 pm'' and ``24:sm'' like
``843:59''. </p>
<h5>datetime=format_string </h5>
<p>This uses both date and time format string, space delimited, date
first. </p>
<p>For example ``j-40 24:-0'' would result in datetime string like
``2003-01-31 14:03:59''. </p>
<h5>kone=host,path,port </h5>
<p>Location of remove dzkone listener. Don't use unless you really know
what you are doing and need to separate dzkone access to a remote
location. </p>
<h5>one_access_cache=bool </h5>
<p>It is safe to set this to no/false/0/off, as setting this to true,
is not yet fully implemented. </p>
<h5>dbalias=string </h5>
<p>An alias name for the database to connect when no such thing is
specified in a form. This refers to a section in kone.ini. </p>
<h5>force_browse_after_new=bool </h5>
<p>Forces browse mode after successful save in New mode. <a
 href="#sub:System-wide-settings_"><font color="#000080"><img
 src="crossref.png" name="Graphic5" alt="[*]" align="bottom" width="13"
 height="13" border="1"></font></a> for full description of this option.</p>
<h5>open_new_window=bool </h5>
<p>Setting this, (yes/true/on/1), will cause the application to pop up
in it's own window without the back/forward buttons etc. </p>
<h5>allow_suspend=bool </h5>
<p>Setting this to true/yes/etc, will allow locking of a session to be
allowed. For this purpose, an extra button is displayed in stonga, the
low bar. </p>
<h4>4.3.2 [layout] </h4>
<p>How the forms shoud be displayd automatically, or strictly to
developer's view in mind. </p>
<h5>format=bool </h5>
<p>Setting this to true/yes/etc, will auto-format all the table layouts
so they all should look pretty much the same no matter how many
cellpadding=x is done in one or another form. </p>
<p>When not set (no/false/etc), all the formatting of the tables in any
form, is displayed as the creater intended. </p>
<h5>spacing=int </h5>
<p>How much of cellspacing should be used in the tables that lay out
other tables. </p>
<h5>padding=int </h5>
<p>As with spacing but applies to cellpadding. </p>
<h5>border=bool </h5>
<p>As with spacing, but applies to border and should be set on or off
(1/0). </p>
<h4><a name="DB-access-settings"></a>4.4 Database access settings </h4>
<p>A file called kone.ini should be located in the ini folder specified
in site.ini. In this file, parameters to connect to a database are kept. </p>
<h5>4.4.1 [debug] </h5>
<p>Debugging information: how much and where to. </p>
<h5>level=0-12 </h5>
<p>Debug level. The higher thew more information is printed. Setting
this to 0 (nought), disable all debugging messages. </p>
<h5>file=string </h5>
<p>Any file name, including absolute file path, where to print debug
messages. When left blank, debugging is printed to the stdout - don't do
this as there is nowhere to print by dzkone.. </p>
<h5>4.4.2 [dbalias] </h5>
<p>The section name has is the actual database aliasname refered from
application ini and possibly from forms. </p>
<p>There may as many database alias sections as you wish, but remember:
they all have to have an unique name. </p>
<p>Each section consists of two keys: dsn and options. Options has
sub-keys. </p>
<h5>dsn=dsn_string </h5>
<p>This is to be used by PEAR:DB ob ject and the format varies from
database to database. See PEAR documentation for details. </p>
<p>For example: ``dsn=pgsql://postgres@localhost/tring'' could connect
as user ``postgres ``to database ``tring'' in the localhost. </p>
<h5>options={ sub values }</h5>
<p>In options, it is possible to declare few settings that affect how
the queries are build. For example, a date formar may be specified here.</p>
<p>The format is typical multi-key-value pair: </p>
<pre><dd>options={</dd><dd>transact=yes</dd><dd>date=j.40</dd><dd>incase=yes</dd><dd>etc. etc...</dd><dd>}</dd></pre>
<p> Below is a list of sub-keys and their descriptions. </p>
<h5>transact=bool </h5>
<p>When set (on, yes, etc), utilises transaction handling. MySQL does
NOT handle trasnactions and this should therefore be set to false with
it. </p>
<h5>date=format_string </h5>
<p>Date format string to match the format the database uses. See
Application settings for details on this. </p>
<h5>trimming=bool </h5>
<p>Set this to true with PostgreSQL and others that returns any char(x)
columns with trailing spaces. Otherwise queries will fail easily.
Instead of comparing ``where col1 = trim('Value')'', trimming will
produce ``where trim(col1) = trim('Value')''. </p>
<h5>incase=boot </h5>
<p>Set this to true with databases whose queries are incase-sensitive.
This will add the usage of lower() function around columns. For example:
``where lower(trim(col1)) = lower(trim('Value'))'' would match no matter
in what case the ``col1'' contains a word ``value''. PostgreSQL queries
are by default case-sesitive, so the use of ``incase=yes'' is
recomended. </p>
<h4>4.5 Database translation table (DBTT) </h4>
<p>This is optional ini file, and may be called anything one wishes. It
is refered from actual forms and is used to translate table and column
names back and forth. The idea is, that tables and columns may have
different names on the form than they do in the actual database. </p>
<p>Dataxi takes care of the name translations from form to database and
back. </p>
<p>For example, database has a table ``foo'' and that table has a
column ``bar''. The form, on the other hand, the same table is refered
as ``huu'' and the column ``huu.faa'' or ``haa''. Setting up a DBTT file
takes care of the naming problem so that ``huu'' gets converted to
``foo'' and ``haa'' to ``bar'' when building a query, and the values
passed back to form are converted back so that ``huu.haa'' contains some
data if the query was successful. </p>
<h5>4.5.1 [tables] </h5>
<p>Table names. ``appname=dbname'', so that the table name as in the
application side is the key and the name equal to it on the database
side is the value. </p>
<h5>4.5.2 [cols] </h5>
<p>Column names for each table. The key is the table name on the
application side and the values are key=value pairs when key is the
column name on the application side and the value on the database side. </p>
<p>Example: </p>
<pre><dd>[cols]</dd><dd>apptablename={</dd><dd>appcol1=dbcol1</dd><dd>appcol2=dbcol2</dd><dd>}</dd></pre>
<h3> 5 Tips for beginners </h3>
<ul>
	<li>
    <p align="left" style="margin-bottom: 0cm;">Webmin is an excellent
	choice for a beginners using U*ix to setup and use Apache, 	PostgreSQL
and many other. servers. It has a nice web interface and 	once
installed, you just point your browse to 	"http://hostname:10000" and
there you go. 	</p>
	</li>
  <li>
    <p style="margin-bottom: 0cm;">Most of moders Linux distributions
	comes with Apache+PHP4 module+PostgreSQL+MySQL.</p>
	</li>
  <li>
    <p style="margin-bottom: 0cm;">Under M$ -Windows, WinZip opens 	and
extracts .tar.gz packets. 	</p>
	</li>
  <li>
    <p style="margin-bottom: 0cm;">PostgreSQL and MySQL are also
	available for M$ -Windows</p>
  </li>
</ul>
<h3>6 Tips for advanced users</h3>
<ul>
	<li>
    <p style="margin-bottom: 0cm;">site.ini holds information of
	folder locations (html sources, dataxi, solib etc.) and application
	name (important!) 	</p>
	</li>
  <li>
    <p style="margin-bottom: 0cm;">&lt;appname&gt;.ini (like 	tring.ini
in the example) contains environment settings (date format 	and the
like) and important kone address 	</p>
	</li>
  <li>
    <p>kone.ini holds information for database accesses 	</p>
  </li>
</ul>
<h3>7 Links </h3>
<ul>
	<li>
    <p style="margin-bottom: 0cm;">Dataxi homepage
	http://dataxi.sourceforge.net 	</p>
	</li>
  <li>
    <p style="margin-bottom: 0cm;">Phpxmlrpc homepage
	http://http://phpxmlrpc.sourceforge.net/ 	</p>
	</li>
  <li>
    <p style="margin-bottom: 0cm;">Webmin http://www.webmin.com 	</p>
	</li>
  <li>
    <p style="margin-bottom: 0cm;">Apache http://www.apache.org 	</p>
	</li>
  <li>
    <p>PostgreSQL http://www.postgresql.org 	</p>
  </li>
</ul>
</body>
</html>
